package com.ljq.anonymousInnerClassAndAPIs;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.Arrays;
import java.util.Random;

/**
 * Description: 常用api3
 * Author: A
 * Date: 2025/2/25
 * Time: 9:55
 */
public class APIs3 {
    public static void main(String[] args) {
        stringEx();
    }

    public static void arraysEx() {
        int[] arr = {5, 3, 8, 1, 2};
        Arrays.sort(arr);
//        String str = Arrays.toString(arr);
        int num = Arrays.binarySearch(arr, 1);  // 必须是排序了的 基于二分查找
        System.out.println(num);
    }

    public static void IntegerEx() {
//            集合类只能存储对象
        Integer num1 = new Integer(5); // 手动装箱
        int primitiveInt = num1.intValue();
    }

    public static void stringEx() {
        String str1 = "Hello, World!"; // 字面量创建
        String str2 = new String("Hello, Java!"); // 使用构造函数创建

//             字符访问
        char ir = str1.charAt(0); //获取第一个字符
        System.out.println(ir);

//        字符串比较
        String str4 = "Hello, World!";
        System.out.println(str4.equals(str1));
        System.out.println(str4.equalsIgnoreCase("hello, world!")); // 忽略大小写
//     查找

        System.out.println(str1.indexOf("World"));
        System.out.println(str1.lastIndexOf("World"));
// 提取

        System.out.println(str1.substring(0,5));

        String emptyStr = "";

        System.out.println(emptyStr.isEmpty());
        System.out.println(str1.startsWith("H"));
        System.out.println(str1.endsWith("!!"));
        System.out.println(str1.contains("4 "));

        String str5 = "aa123bb234cc909dd";

        // 使用正则表达式切割字符串，\\d+ 表示一个或多个数字
        String[] parts = str5.split("\\d+");

        System.out.println(Arrays.toString(parts));
    }
}
